package dp;

public class rob {
    public int rob(int[] nums) {
        int[] dp = new int[nums.length];
        if (nums.length==1) {
            return nums[0];
        }else if (nums.length==2) {
            return Math.max(nums[0], nums[1]);
        }
        dp[0]=nums[0];
        dp[1]=nums[1];
        dp[2]=nums[0]+nums[2];
        //不是简单的隔着   100 1 1 3 2 100
        //不是简单的隔着   2,1,1,2
        for(int i=3;i<nums.length;i++){
            dp[i]=Math.max(dp[i-2],dp[i-3])+nums[i];
        }
        return Math.max(dp[nums.length-1], dp[nums.length-2]);
    }
    public static void main(String[] args) {
        rob obj = new rob();
        // int[] nums = new int[]{1,5,3};
        // int[] nums = new int[]{2,7,9,3,1};
        // int[] nums = new int[]{2,1,1,2};
        int[] nums = new int[]{100 ,1 ,1 ,3 ,2, 100};
        System.out.println(obj.rob(nums));
    }
}
